package cn.dgut.training.vo.goods;

import cn.dgut.training.entity.goods.Cart;
import cn.dgut.training.entity.user.Address;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;

@Data
@AllArgsConstructor
@NoArgsConstructor
public class CheckoutVO implements Serializable {

    @ApiModelProperty(value = "地址id")
    private Long addressId;

    @ApiModelProperty(value = "优惠券id")
    private Long couponId;

    @ApiModelProperty(value = "用户的优惠券id")
    private Long userCouponId;

    @ApiModelProperty(value = "购物车id")
    private Long cartId;

    @ApiModelProperty(value = "团购规则id")
    private Long grouponRulesId;

    @ApiModelProperty(value = "团购优惠价格")
    private BigDecimal grouponPrice;

    @ApiModelProperty(value = "选择的地址")
    private Address checkedAddress;

    @ApiModelProperty(value = "可用的优惠券数量")
    private Integer availableCouponLength;

    @ApiModelProperty(value = "商品的价格")
    private BigDecimal checkedGoodsPrice;

    @ApiModelProperty(value = "快递价格")
    private BigDecimal freightPrice;

    @ApiModelProperty(value = "优惠券价格")
    private BigDecimal couponPrice;

    @ApiModelProperty(value = "订单费用")
    private BigDecimal orderTotalPrice;

    @ApiModelProperty(value = "真实费用")
    private BigDecimal actualPrice;

    @ApiModelProperty(value = "购物车商品列表")
    private List<Cart> checkedGoodsList;

    @ApiModelProperty(value = "团购活动的ID")
    private Long grouponLinkId;
}
